﻿using SmartPlant.Model;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;

namespace SmartPlant.Services.Interfaces
{
    public interface IImportUtilityService
    {
        /// <summary>
        /// 索引表导入
        /// ImportUtilityController/Index
        /// </summary>
        /// <param name="proId"></param>
        /// <param name="reportname"></param>
        /// <param name="path"></param>
        /// <param name="unitid"></param>
        /// <param name="files"></param>
        /// <param name="insttypeinsertflag"></param>
        /// <param name="TestMode"></param>
        /// <returns></returns>
        Task<RESTfulResult<string>> UploadIndexTableAsync(string proId, string reportname, string path, string unitid, List<NetworkFileInfo> files, bool taginsertflg, bool insttypeinsertflag, bool replaceInstTypeFlag, bool TestMode);

        /// <summary>
        /// 索引表对比
        /// ImportUtilityController/Index
        /// </summary>
        /// <param name="proId"></param>
        /// <param name="reportname"></param>
        /// <param name="path"></param>
        /// <param name="unitid"></param>
        /// <param name="files"></param>        
        /// <returns></returns>
        Task<RESTfulResult<string>> UploadIndexTableAsync(string proId, string reportname, string path, string unitid, List<NetworkFileInfo> files);

        /// <summary>
        /// 数据表导入
        /// ImportUtilityController/Spec
        /// </summary>
        /// <param name="proId"></param>
        /// <param name="reportname"></param>
        /// <param name="path"></param>
        /// <param name="unitid"></param>
        /// <param name="files"></param>
        /// <param name="blankValueUpdteFlag"></param>
        /// <param name="TestMode"></param>
        /// <returns></returns>
        Task<RESTfulResult<string>> UploadSpecTableAsync(string proId, string reportname, string path, string unitid, List<NetworkFileInfo> files, bool blankValueUpdteFlag, bool TestMode, bool IsCompType = false);

    }
}
